1. Field of the Disclosure
The present disclosure relates to the field of communications. More particularly, the present disclosure relates to method of maintaining a uniform distribution of requests to a plurality of network communication nodes by generating round robin service order lists that improve service performance during server failures.
2. Background Information
Conventional round robin (RR) algorithms are used to distribute requests or calls in telecommunication networks among several identical servers. Typically, networks using RR algorithms distribute requests or calls evenly when all servers in the pool are available. However, a server failure may cause uneven request or call distribution among the rest of the servers resulting in service degradation. For example, a server failure may cause increased call or request blocking, increased call setup delay, and/or reduced client/server throughput.
This uneven request/call distribution is caused by the order in which clients distribute calls among servers. Clients, using conventional round robin algorithms, distribute calls or requests to servers in the same order (i.e., server1, server2 . . . servern, server1, server2 . . . server n, etc.). When one of the servers fails, each client will reroute load to the same next server in the list, resulting in an overload of the next server.
This problem is typically observed in networks with “ignorant” clients, i.e., clients that are unaware of the server status and continue to distribute arriving requests/calls to all servers including the ones that are unavailable. In such networks, the client will typically wait for response from the failed server for a specified period of time, then will reattempt to distribute the request/call to the same failed server one or more times and, if unsuccessful, the client will attempt to redistribute the request/call to the next server in its round robin service order list.